package com.dcm.live.mapper;

import com.dcm.live.entity.LiveItemEntity;
import com.dcm.live.vo.FrontDeskEntity;
import com.dcm.live.vo.LiveRoomdtoEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author : [pengrongsheng]
 * @createTime : [2021/3/28]
 */
public interface LiveItemMapper {
    /**
     * 获得所有商品列表
     *
     * @return List<TbItem>
     */
    List<LiveItemEntity> findAll();

    /**
     * 根据id查询商品
     *
     * @param id 主键
     * @return TbItem
     */
    LiveItemEntity findItemById(@Param("id") Long id);

    /**
     * 添加商品
     *
     * @param item 前台传递的 实体对象
     */
    void addItem(LiveItemEntity item);

    /**
     * 根据 条件 查询 （关键字 id）
     *
     * @param keyWords 关键字
     * @return List<TbItem>
     */
    List<LiveItemEntity> findItemByKeyWords(@Param("keyWords") String keyWords);

    /**
     * 修改 item
     * @param item 前台传递的 实体对象
     */
    void updateItemStatus(LiveItemEntity item);

    /**
     * 数据分析 计算下单量、成交量、收货量、退货量
     * @param id
     * @param status
     * @return
     */
    Integer findNumber(@Param("id") Long id,@Param("status") Integer status);

    /**
     * 数据分析 直播商品点击次数、下单次数
     * @param id
     * @return FrontDeskEntity
     */
    FrontDeskEntity frontDeskEntity(@Param("id") Long id);

    /**
     * 创建直播间
     * @param liveRoomDtoEntity
     */
    void establishBroadcasting(LiveRoomdtoEntity liveRoomDtoEntity);

}
